package ar.edu.utn.frsf.tpae.a2012.g05.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.context.FacesContext;

import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cuenta;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Movimiento;
import ar.edu.utn.frsf.tpae.a2012.g05.exception.NegocioException;
import ar.edu.utn.frsf.tpae.a2012.g05.service.MovimientoService;
import ar.edu.utn.frsf.tpae.a2012.g05.util.ServiceLocator;

public class MovimientoBean implements Serializable {

	private static final long serialVersionUID = -2979756947473150568L;

	private Cuenta cuenta;
	private Movimiento movimiento;
	private List<Movimiento> listaMovimientos;
	
	@PostConstruct
	public void init() {
		cuenta = (Cuenta) FacesContext.getCurrentInstance()
				.getExternalContext().getSessionMap().get("cuenta");
		listaMovimientos = new ArrayList<Movimiento>();
		listar();
	}
	
	public String listar() {
		MovimientoService service = ServiceLocator.getMovimientoService();
		try {
			this.listaMovimientos = service.findMovimientosCuenta(cuenta);
		} catch (NegocioException e) {
			System.out.println(e.getMessage());
		}

		return null;
	}
	
	// Getters y setters, utilizados por las JSP.	

	
	public Movimiento getMovimiento() {
		return movimiento;
	}

	public void setMovimiento(Movimiento movimiento) {
		this.movimiento = movimiento;
	}
	
	public List<Movimiento> getListaMovimientos() {
		return listaMovimientos;
	}

	public void setListaMovimientos(List<Movimiento> listaMovimientos) {
		this.listaMovimientos = listaMovimientos;
	}

	public Cuenta getCuenta() {
		return cuenta;
	}

	public void setCuenta(Cuenta cuenta) {
		this.cuenta = cuenta;
	}
}
